// 引入mysql模块
const mysql = require('mysql');

// 创建连接池
const pool = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: '123123',
    database: 'demo',
    connectionLimit: 10,
    timezone: 'utc',//mysql默认的时区是utc 连接是本地时区，相差8小时
});

// 导出操作数据库的标准方法
module.exports = function (sql, params) {
    // 返回Promise对象
    return new Promise((resolve, reject) => {
        // 先从连接池中取得一个连接
        pool.getConnection((err, connection) => {
            if (err) {
                console.error(err)
                reject(err);
            } else {
                // 没有错误，正常取得了连接
                //    使用这个连接来操作数据库
                connection.query(sql, params, (err, result) => {
                    // 查询完成后，优先释放到连接池
                    connection.release();
                    // 判断是否出错
                    if (err) {
                        console.error(err)
                        reject(err)
                    } else {
                        // 没有错误，查询成功
                        resolve(result);
                    }
                })
            }
        })
    })

}